package com.cloudkinto.service.stock;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.dto.stock.flowing.FlowingPageDto;
import com.cloudkinto.entity.ProductStockFlowingDo;
import com.cloudkinto.vo.stock.ProductFlowingInEt;
import com.cloudkinto.vo.stock.ProductFlowingOutEt;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 库存流水 service接口
 * </p>
 *
 * @author hua
 * @since 2024-11-28
 */
public interface ProductStockFlowingService extends IService<ProductStockFlowingDo> {
    void insertBatch(List<ProductStockFlowingDo> list);

    SingleResult pageInit(Long userId, Long companyId, Long tenantId, String source);

    List<FlowingPageDto> getList(Map<String, Object> map);

    PageResult getListPage(Map<String, Object> map);

    void insertProForIn(ProductFlowingInEt et);

    void insertProForOut(ProductFlowingOutEt et);

    /**
     * oms 产品库存流水导出
     */
    void productExportFlowingOms(Map<String, Object> map, HttpServletResponse response);
    /**
     * oms 箱库存流水导出
     */
    void boxExportFlowingOms(Map<String, Object> map, HttpServletResponse response);

    void productExportFlowingOmp(Map<String, Object> map, HttpServletResponse response);

    void boxExportFlowingOmp(Map<String, Object> map, HttpServletResponse response);

    void productExportFlowingWms(Map<String, Object> map, HttpServletResponse response);

    void boxExportFlowingWms(Map<String, Object> map, HttpServletResponse response);
}
